package com.hdoit.ares.web.policy.modelconfig;

import com.hdoit.ares.web.policy.provider.PolicySignsProvider;
import com.tennetcn.component.attribute.DateTimeAttribute;
import com.tennetcn.component.attribute.DisplayNameAttribute;
import com.tennetcn.component.attribute.DropDownListAttribute;
import com.tennetcn.component.attribute.base.ModelMetadataAttributeConfiguration;

/**
 * @author caochengmeng
 * @email
 * @createtime 2018年01月18日 15:08:50
 * @comment
 */
public class ListPolicyConfig extends ModelMetadataAttributeConfiguration {
	public ListPolicyConfig() {
		this.setProperty("customerId")
			.hasAttribute(new DisplayNameAttribute("客户标识"));

		this.setProperty("signs")
			.hasAttribute(new DisplayNameAttribute("标识"))
			.hasAttribute(new DropDownListAttribute(new PolicySignsProvider()));

		this.setProperty("insuState")
			.hasAttribute(new DisplayNameAttribute("保单状态"));

		this.setProperty("productName")
			.hasAttribute(new DisplayNameAttribute("产品名称"));

		this.setProperty("startDate")
			.hasAttribute(new DisplayNameAttribute("起保日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("endDate")
			.hasAttribute(new DisplayNameAttribute("终保日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("oid")
			.hasAttribute(new DisplayNameAttribute("外键"));

		//泛华意健险
		this.setProperty("fanhuaAccident.startTime")
			.hasAttribute(new DisplayNameAttribute("保单起保日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaAccident.orderState")
			.hasAttribute(new DisplayNameAttribute("订单状态"));

		this.setProperty("fanhuaAccident.insureComName")
			.hasAttribute(new DisplayNameAttribute("保险公司名称"));

		this.setProperty("fanhuaAccident.submitTime")
			.hasAttribute(new DisplayNameAttribute("订单创建日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaAccident.totalAmount")
			.hasAttribute(new DisplayNameAttribute("订单金额"));

		this.setProperty("fanhuaAccident.orderNum")
			.hasAttribute(new DisplayNameAttribute("份数"));

		this.setProperty("fanhuaAccident.endTime")
			.hasAttribute(new DisplayNameAttribute("保单失效日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaAccident.productName")
			.hasAttribute(new DisplayNameAttribute("险种名称"));

		this.setProperty("fanhuaAccident.orderId")
			.hasAttribute(new DisplayNameAttribute("订单号"));

		this.setProperty("fanhuaAccident.productId")
			.hasAttribute(new DisplayNameAttribute("险种Id"));

		this.setProperty("fanhuaAccident.insuredIdNo")
			.hasAttribute(new DisplayNameAttribute("被保人证件号"));

		this.setProperty("fanhuaAccident.insuredEmail")
			.hasAttribute(new DisplayNameAttribute("被保人邮箱"));

		this.setProperty("fanhuaAccident.insuredBirthday")
			.hasAttribute(new DisplayNameAttribute("被保人生日"));

		this.setProperty("fanhuaAccident.insuredAppntShip")
			.hasAttribute(new DisplayNameAttribute("投被保人关系"));

		this.setProperty("fanhuaAccident.insuredName")
			.hasAttribute(new DisplayNameAttribute("被保人姓名"));

		this.setProperty("fanhuaAccident.insuredMobile")
			.hasAttribute(new DisplayNameAttribute("被保人手机号"));

		this.setProperty("fanhuaAccident.insuredSex")
			.hasAttribute(new DisplayNameAttribute("被保人性别"));

		this.setProperty("fanhuaAccident.insuredIdType")
			.hasAttribute(new DisplayNameAttribute("被保人证件类型"));

		this.setProperty("fanhuaAccident.appntBirthday")
			.hasAttribute(new DisplayNameAttribute("被保人生日"));

		this.setProperty("fanhuaAccident.appntIdType")
			.hasAttribute(new DisplayNameAttribute("投保人证件类型"));

		this.setProperty("fanhuaAccident.appntIdNo")
			.hasAttribute(new DisplayNameAttribute("投保人证件号码"));

		this.setProperty("fanhuaAccident.appntMobile")
			.hasAttribute(new DisplayNameAttribute(" 投保人手机号"));

		this.setProperty("fanhuaAccident.appntName")
			.hasAttribute(new DisplayNameAttribute("投保人姓名"));

		this.setProperty("fanhuaAccident.appntSexName")
			.hasAttribute(new DisplayNameAttribute("投保人性别"));

		this.setProperty("fanhuaAccident.appntEmail")
			.hasAttribute(new DisplayNameAttribute("投保人邮箱"));

		this.setProperty("fanhuaAccident.noticeMsg")
			.hasAttribute(new DisplayNameAttribute("提示信息"));

		this.setProperty("fanhuaAccident.noticeCode")
			.hasAttribute(new DisplayNameAttribute("提示信息代码"));

		this.setProperty("fanhuaAccident.appStatus")
			.hasAttribute(new DisplayNameAttribute("保单状态"));

		this.setProperty("fanhuaAccident.policyNo")
			.hasAttribute(new DisplayNameAttribute("保单号"));

		this.setProperty("fanhuaAccident.downloadURL")
			.hasAttribute(new DisplayNameAttribute("当保网有电子保单时，此字段值为保网电子保单下载地址。"));
		
		//泛华车险
		this.setProperty("zhonganAccident.requestDate")
        	.hasAttribute(new DisplayNameAttribute("请求时间"))
        	.hasAttribute(new DateTimeAttribute());

		this.setProperty("zhonganAccident.oldPolicyNo")
        	.hasAttribute(new DisplayNameAttribute("原保单号"));

		this.setProperty("zhonganAccident.policyNo")
        	.hasAttribute(new DisplayNameAttribute("保单号"));

		this.setProperty("zhonganAccident.sumInsured")
        	.hasAttribute(new DisplayNameAttribute("保额"));

		this.setProperty("zhonganAccident.premium")
        	.hasAttribute(new DisplayNameAttribute("保费"));

		this.setProperty("zhonganAccident.effectiveDate")
			.hasAttribute(new DisplayNameAttribute("保单起期/退保生效日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("zhonganAccident.expiryDate")
        	.hasAttribute(new DisplayNameAttribute("保单止期"))
        	.hasAttribute(new DateTimeAttribute());

		this.setProperty("zhonganAccident.productName")
        	.hasAttribute(new DisplayNameAttribute("产品名称"));

		this.setProperty("zhonganAccident.promoteCode")
        	.hasAttribute(new DisplayNameAttribute("推广位code"));

		this.setProperty("zhonganAccident.promoteName")
        	.hasAttribute(new DisplayNameAttribute("推广位名称"));

		this.setProperty("zhonganAccident.promoteFee")
			.hasAttribute(new DisplayNameAttribute("推广费"));
		
		//泛华车险
		this.setProperty("fanhuaCar.errorMsg")
        	.hasAttribute(new DisplayNameAttribute("错误消息"));

		this.setProperty("fanhuaCar.taskId")
        	.hasAttribute(new DisplayNameAttribute("任务号"));

		this.setProperty("fanhuaCar.prvName")
			.hasAttribute(new DisplayNameAttribute("保险公司简称"));

		this.setProperty("fanhuaCar.taskState")
        	.hasAttribute(new DisplayNameAttribute("任务状态代码"));

		this.setProperty("fanhuaCar.vehicleName")
        	.hasAttribute(new DisplayNameAttribute("车型名称"));

		this.setProperty("fanhuaCar.carLicenseNo")
        	.hasAttribute(new DisplayNameAttribute("车牌号"));

		this.setProperty("fanhuaCar.carProperty")
        	.hasAttribute(new DisplayNameAttribute("辆使用性质代码"));

		this.setProperty("fanhuaCar.carOwnerName")
			.hasAttribute(new DisplayNameAttribute("车主姓名"));

		this.setProperty("fanhuaCar.carOwnerPhone")
			.hasAttribute(new DisplayNameAttribute("车主电话"));

		this.setProperty("fanhuaCar.applicantName")
        	.hasAttribute(new DisplayNameAttribute("投保人姓名"));

		this.setProperty("fanhuaCar.applicantIdcardNo")
			.hasAttribute(new DisplayNameAttribute("投保人证件号"));

		this.setProperty("fanhuaCar.applicantGender")
        	.hasAttribute(new DisplayNameAttribute("投保人性别"));

		this.setProperty("fanhuaCar.applicantIdcardType")
        	.hasAttribute(new DisplayNameAttribute("投保人证件类型"));

		this.setProperty("fanhuaCar.applicantEmail")
			.hasAttribute(new DisplayNameAttribute("投保人邮箱"));
		
		this.setProperty("fanhuaCar.applicantMobile")
        	.hasAttribute(new DisplayNameAttribute("投保人电话"));

		this.setProperty("fanhuaCar.insuredName")
        	.hasAttribute(new DisplayNameAttribute("被保人姓名"));

		this.setProperty("fanhuaCar.insuredIdcardNo")
        	.hasAttribute(new DisplayNameAttribute("被保人证件号"));

		this.setProperty("fanhuaCar.insuredGender")
			.hasAttribute(new DisplayNameAttribute("被保人性别"));

		this.setProperty("fanhuaCar.insuredIdcardType")
        	.hasAttribute(new DisplayNameAttribute("被保人证件类型"));

		this.setProperty("fanhuaCar.insuredEmail")
        	.hasAttribute(new DisplayNameAttribute("被保人邮箱"));

		this.setProperty("fanhuaCar.insuredMobile")
        	.hasAttribute(new DisplayNameAttribute("被保人电话"));

		this.setProperty("fanhuaCar.efcInsureInfoStartDate")
       		.hasAttribute(new DisplayNameAttribute("交强险起保日期"))
       		.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaCar.efcInsureInfoEndDate")
			.hasAttribute(new DisplayNameAttribute("交强险终保日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaCar.efcInsureInfoAmount")
			.hasAttribute(new DisplayNameAttribute("交强险保额"));

		this.setProperty("fanhuaCar.efcInsureInfoPremium")
        	.hasAttribute(new DisplayNameAttribute("交强险保费"));

		this.setProperty("fanhuaCar.efcInsureInfoPolicyNo")
        	.hasAttribute(new DisplayNameAttribute("承保成功后才有交强险保单号"));

		this.setProperty("fanhuaCar.efcInsureInfoDiscountRate")
			.hasAttribute(new DisplayNameAttribute("交强险折扣率"));

		this.setProperty("fanhuaCar.taxInsureInfoLateFee")
			.hasAttribute(new DisplayNameAttribute("车船税金额"));

		this.setProperty("fanhuaCar.taxInsureInfoTaxFee")
        	.hasAttribute(new DisplayNameAttribute("车船税滞纳金"));

		this.setProperty("fanhuaCar.bizInsureInfoStartDate")
        	.hasAttribute(new DisplayNameAttribute("商业险起保日期"))
        	.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaCar.bizInsureInfoEndDate")
			.hasAttribute(new DisplayNameAttribute("商业险终保日期"))
			.hasAttribute(new DateTimeAttribute());

		this.setProperty("fanhuaCar.bizInsureInfoPremium")
			.hasAttribute(new DisplayNameAttribute("商业险保费合计=商业险保费+商业险不计免赔保费"));

		this.setProperty("fanhuaCar.bizInsureInfoDiscountRate")
        	.hasAttribute(new DisplayNameAttribute("承保成功后才有商业险折扣率"));

		this.setProperty("fanhuaCar.bizInsureInfoPolicyNo")
        	.hasAttribute(new DisplayNameAttribute("商业险保单号"));

		this.setProperty("bizInsureInfoNfcPremium")
       		.hasAttribute(new DisplayNameAttribute("商业险不计免赔保费"));

		this.setProperty("fanhuaCar.riskKinds")
        	.hasAttribute(new DisplayNameAttribute("商业险险种信息"));

		this.setProperty("fanhuaCar.totalPremium")
        	.hasAttribute(new DisplayNameAttribute("商业险总保费"));

    	this.setProperty("fanhuaCar.msgType")
        	.hasAttribute(new DisplayNameAttribute("01-上传影像提醒，详见下方影像规则说明"));

    	this.setProperty("fanhuaCar.imageInfos")
        	.hasAttribute(new DisplayNameAttribute("影像资料"));
    	
    	this.setProperty("fanhuaCar.quoteValidTime")
        	.hasAttribute(new DisplayNameAttribute("报价有效期"))
        	.hasAttribute(new DateTimeAttribute());

    	this.setProperty("fanhuaCar.payValidTime")
    		.hasAttribute(new DisplayNameAttribute("支付有效期"))
    		.hasAttribute(new DateTimeAttribute());

    	this.setProperty("fanhuaCar.deliveryType")
    		.hasAttribute(new DisplayNameAttribute("配送方式"));

    	this.setProperty("fanhuaCar.deliveryName")
        	.hasAttribute(new DisplayNameAttribute("收件人姓名"));

    	this.setProperty("fanhuaCar.deliveryPhone")
        	.hasAttribute(new DisplayNameAttribute("收件人联系号码"));

    	this.setProperty("fanhuaCar.deliveryProvince")
        	.hasAttribute(new DisplayNameAttribute("配送地址省编码"));

    	this.setProperty("fanhuaCar.deliveryCity")
        	.hasAttribute(new DisplayNameAttribute("配送地址市编码"));

    	this.setProperty("fanhuaCar.deliveryArea")
        	.hasAttribute(new DisplayNameAttribute("配送地址区编码"));

    	this.setProperty("fanhuaCar.deliveryAddress")
        	.hasAttribute(new DisplayNameAttribute("配送详细地址"));

    	this.setProperty("fanhuaCar.deliveryZip")
    		.hasAttribute(new DisplayNameAttribute("邮编"));

    	this.setProperty("fanhuaCar.deliveryExpressCompanyName")
        	.hasAttribute(new DisplayNameAttribute("快递公司名称"));

   		this.setProperty("fanhuaCar.deliveryExpressNumber")
   			.hasAttribute(new DisplayNameAttribute("快递单号"));

    	this.setProperty("fanhuaCar.deliverySyElecPolicyFilePath")
    		.hasAttribute(new DisplayNameAttribute("商业险电子保单地址"));

    	this.setProperty("fanhuaCar.deliveryJpElecPolicyFilePath")
        	.hasAttribute(new DisplayNameAttribute("交强险电子保单地址"));
		
	}
}